package pl.wroc.pwr.mss.server.ui.tables.renderers;

import java.awt.Component;

import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;

/**
 * Wyspecjalizowany renderer dla tabeli utworów dostępnej z głównego okna
 * aplikacji serwerowej.
 * 
 * @author mjagus
 */
public class SongEditTableCellRenderer extends DefaultTableCellRenderer
{
    /**
     * Identyfikator klasy.
     */
    private static final long serialVersionUID = 424725968440863392L;

    /**
     * Iniciuje renderera.
     */
    public SongEditTableCellRenderer()
    {
        super();
    }

    @Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
    {
        if(value != null)
            value = String.format("%s ", value.toString());

        DefaultTableCellRenderer result = (DefaultTableCellRenderer)super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);

        // Domyslna kolejnosc kolumn: "Artist", "Album", "Track No", "Title", "Duration", "Actions"
        String columnName = table.getColumnName(column);
        if("Track No".equals(columnName) || "Duration".equals(columnName))
            result.setHorizontalAlignment(JLabel.RIGHT);
        else
            result.setHorizontalAlignment(JLabel.LEFT);

        return result;
    }
}
